Multi-tenancy refers to a principle in software architecture where a single instance of the software runs on a server, serving multiple client organizations (a.k.a., tenants). Multi-tenancy is contrasted with a multi-instance architecture, where separate software instances (or hardware systems) are set up for different client organizations. With a multitenant architecture, a software application can be designed to virtually partition its data and configuration, and each client organization works with a customized virtual application instance.
Multi-tenancy allows for cost savings over many other types of architecture because the cost of providing computing resources can be consolidated and shared by multiple tenants. Further, management of software release can also be greatly simplified in a multitenant computing system. However, the sharing of computing resources among different client organizations also raises other issues. For instance, security of a client organization's data is one important issue in a multitenant system.